package com.asp.aspchain.tsttransaction.request;

import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Map;

/**
 * 充正退费交易请求参数类
 * @author zhongzifeng
 */
public class TransactionWithdrawReq implements Serializable {
	private static final long serialVersionUID = 1L;
	/*
	 * app标示
	 */
	@NotBlank(message="appmark不能为空")
	private String appmark;
	/*
	 * 账户号
	 */
	@NotBlank(message="accountid不能为空")
	private String accountid;
	/*
	 * 密码
	 */
	@Size(max=16)
	private String password;
	
	/*
	 * tokentype值
	 */
	@NotBlank(message="tokentype不能为空")
	@Size(max=11)
	private String tokentype;
	/*
	 * tokenvalue值
	 */
	private BigInteger tokenvalue;
	/*
	 * 业务的订单号
	 */
	@NotBlank(message="orderid不能为空")
	private String orderid;
	/*
	 * 业务订单时间
	 */
	@NotBlank(message="ordertime不能为空")
	private String ordertime;
	/*
	 * 资产 最大不超过512
	 */
	private Map asset;
	/*
	 * String，前面所有数字签名
	 */
	@NotBlank(message="hmac不能为空")
	private String hmac;

	@Override
	public String toString() {
		return "TransactionCommitReq{" +
				"appmark='" + appmark + '\'' +
				", accountid=" + accountid +
				", password='" + password + '\'' +
				", tokentype='" + tokentype + '\'' +
				", tokenvalue=" + tokenvalue +
				", orderid='" + orderid + '\'' +
				", ordertime='" + ordertime + '\'' +
				", asset='" + asset + '\'' +
				", hmac='" + hmac + '\'' +
				'}';
	}

	public static long getSerialVersionUID() {
		return serialVersionUID;
	}

	public String getAppmark() {
		return appmark;
	}

	public void setAppmark(String appmark) {
		this.appmark = appmark;
	}

	public String getAccountid() {
		return accountid;
	}

	public void setAccountid(String accountid) {
		this.accountid = accountid;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getTokentype() {
		return tokentype;
	}

	public void setTokentype(String tokentype) {
		this.tokentype = tokentype;
	}

	public BigInteger getTokenvalue() {
		return tokenvalue;
	}

	public void setTokenvalue(BigInteger tokenvalue) {
		this.tokenvalue = tokenvalue;
	}

	public String getOrderid() {
		return orderid;
	}

	public void setOrderid(String orderid) {
		this.orderid = orderid;
	}

	public String getOrdertime() {
		return ordertime;
	}

	public void setOrdertime(String ordertime) {
		this.ordertime = ordertime;
	}

	public Map getAsset() {
		return asset;
	}

	public void setAsset(Map asset) {
		this.asset = asset;
	}

	public String getHmac() {
		return hmac;
	}

	public void setHmac(String hmac) {
		this.hmac = hmac;
	}
}

